import { DataProxy } from "../../frame/A-LIB/sources/lib.b.data";

class Trigger {
	/** 初始化UI */
	UIInit: boolean;
	/** home UI事件 */
	UIHome: boolean;
	/** 过渡页 UI事件 */
	UITrans: boolean;
	/** 游戏 UI事件 */
	UIGame: boolean;
	/** 成就 UI事件 */
	UIAchieve: boolean;
	/** 飞行宝箱 */
	UILuckyBox: boolean;
	/** 加载游戏事件 */
	LoadRound: number;
	/** 游戏结束 */
	GameOver: boolean;

	HintLock: boolean;

	/** 预加载砖块 */
	PreLoadTiles: 'start'|'end';

	STASH: boolean;
	REVOKE: boolean;
	SHUFFLE: boolean;

	FLOAT_DIAMOND: number;

	HILIT_DIAMOND: boolean;
}

const proxy_map = new Map<string, Trigger>();

export default function get_proxy(prefix?: string){
	prefix = prefix??'';
	if(!proxy_map.has(prefix)){
		proxy_map.set(prefix, DataProxy.initProxy('game_trigger', new Trigger(), false, null, prefix));
	}
	return proxy_map.get(prefix);
}
